package com.scrcu.core.batch.service;

import com.boarsoft.bean.ReplyInfo;
import com.scrcu.core.batch.entity.BatchInfo;

/**
 * 批量任务手工服务
 */
public interface BatchInfoService {

    /**
     * 启用
     *
     * @param id 批量信息ID
     * @return 操作结果
     */
    ReplyInfo<Object> enable(String id);

    /**
     * 停用
     *
     * @param id 批量信息ID
     * @return 操作结果
     */
    ReplyInfo<Object> disable(String id);

    /**
     * 注册
     *
     * @param o 批量信息
     * @return 操作结果
     */
    ReplyInfo<Object> register(BatchInfo o);

    /**
     * 注销
     *
     * @param id 批量信息ID
     * @return 操作结果
     */
    ReplyInfo<Object> deregister(String id);

    /**
     * 获取批量任务信息
     *
     * @param id 批量信息ID
     * @return 批量任务信息
     */
    BatchInfo get(String id);

    /**
     * 调起批量任务
     *
     * @param id 批量信息ID
     * @param params 批量任务启动参数
     * @return 操作结果
     */
    ReplyInfo<Object> start(String id, String params);
}